20.C 第2課題参考(1)実験系
第2課題に取り組む参考手順を提示する.それぞれについて意味を理解し,話し合いの参考にされたい.
◆どちらを使うか
(A) 連続文字を送出してオシロスコープで観測
(B) 任意文字列を送出してラインモニタで記録
★ どちらを使うかは自分たちで決める → レポートで明記!
実際にはA.から始めることをおすすめ
でもBにもチャレンジしてほしい
◆実験系の構成
以下に測定系・被測定系を図示する.
https://gyazo.com/3dc8611450deaad7ddd12a7dabdd62b5
図 20.C.1実験系の接続
☆☆計測の注意☆☆
測定点は明記していない.なにをどれだけ測定すれば十分なのか,自分たちで判断する
測定は 1 回では不十分.必ず複数回測定すること.
CSV保存や画像保存だけでは不十分.計測機器での個別計測を併用する
作業の準備は以下の「準備 (A)~準備 (C)」を参照.
■ 準備 (A):クロス回路の作成
第1課題と同じ接続ラインで,送信途中の信号を観測したい.
しかしそのままでは途中の信号線を取り出せない.
→ 途中に「むき出し」の部分を作ってそこを計測する!
→ ブレッドボードを利用
9pin クロスコネクタの代わりに 9pin メスコネクタとブレッドボードを使ってクロス回路を作成すれば,むき出しのリード線に計測機器のプローブをつなぐことができる.
ごく簡単な回路なので,ジャンパ線を使って構成する.
■ 準備 (B):通信の成立
01章の準備(A) と同じ要領でホストにアクセスし,ログインする.
通信条件はすでに解明されているはずなので,Tera Term を正しく設定すれば,すぐに接続できる.
※測定が終了したらシャットダウンを忘れないこと.
■ 準備 (C):オシロスコープの準備
オシロスコープで波形を直接観測する実験を選択すれば,オシロの準備が必要.
オシロスコープは伝送文字符号が実際の伝送線中にどのような波形で伝送されるのかを,電気的に観測できる装置.
← 「電気的に」の意味を考えて測定しよう.
B-1) 測定を始める前に必ずオシロスコープの校正をする
※毎回かならず校正する.プローブの倍率にも注意
B-2) 校正終了後,クロス回路のコネクタピンにプローブを接続する.
ホストから送信されるデータを観測するにはどのピンを計測すればよいかを考える必要がある.
通信信号の方向を考える.観測点はクロスのどちら側か.今観測したいのはホスト側か,端末側か.
※端末から見ると SD は入力デバイス (キーボード),RD は出力デバイス (ディスプレイ) に対応
※プロープの GND 接続に注意.当然だが信号線に GND をつなぐと通信できなくなる.
B-3) オシロスコープは原則として繰り返し信号を同期する機器.
このため一定の波形を連続で繰り返し送出し,それを同期して観測することを考える.
※デジタルオシロにはワンショット機能もあるが,コツが必要
本実験用には,サーバに,任意の文字を繰り返し連続送出する send1 コマンドが用意されている.
★注意:半角カナの送出★
本実験系では,端末から「7bitまたは8bitの半角カナ」の送出は困難である.
端末に半角カナを入力することは可能だが,英数字以外はシステムがUTF-8コードとして振る舞うため,半角カナであっても全角と同様に3 byteつまり3文字分が1組として送出される.
半角カナをJIS符号として送出する際にはSO (shift ou)符号を送出して,符号系を英数字からカナに切り替える必要がある.しかしシリアル端末でのコマンド入力ではそれは困難.
ちなみに,カナから英数字に戻るのはSI (shift in)符号が必要.
B-4) X5101 の規格により,信号は「負論理伝送」なので注意.
■ 準備 (D):ラインモニタの準備
ラインモニタ(Logic Mother)を使う実験を選択すれば,ラインモニタの準備が必要.
ラインモニタを使うと,通信信号を 1/0,H/L 論理として観測することができる.
ただし,信号の電圧レベルが問題.
A. 本実験でラインモニタとして用いる Logic MOTHER の信号入力電圧は TTL レベル.
※TTLレベル:0V で Lo,5V で Hi.
それ以上だとICが破損するリスクがある
B. RS-232-C 信号線の信号は NRZ負論理伝送信号であり,電位差は$ -10V \gt \Delta E \gt 10V 程度ある.
※Non Return to Zero:0V の状態を経由せず,0V を中心に正負両方に変化する信号形態
これを直接ラインモニタに印加すると Logic MOTHER の I/F 回路を破損する可能性がある.
これを防ぐため,RS-232-C 信号を TTL 信号に変換するレベルコンバータ回路を使う.
本実験ではシリアル通信用レベル変換 IC "Max232" を使ったレベルコンバータ回路を用いる.
https://gyazo.com/f743cfc2b8927d7384cf8b86b2a4c912
図2.3レベル変換回路
ラインモニタの準備手順は以下の通り.
D-1) レベルコンバータ回路を準備する.
※レベルコンバータ回路は自作してもよいし,すでに作成したものを利用可能 (図2.4).
D-2) 回路は図 2.3 の通り.自作・既存に関わらず,必ず IC の足番号と入出力接続を確認する.
※ICピン:VCC,GND,シリアル IN,TTL OUT 等
※Max232 は 2IN--2OUT を持つ.どちらを使ってもよい
D-3) コンバータ回路の出力側には何も接続せず,入力側に RS-232-C の信号線を接続.
D-4) 回路電源(VCC)はPCのUSBコネクタから供給する.
D-5) 電源をON,通常通り通信をさせる.
D-6) テスターまたはオシロで出力側の電圧がTTL電圧(0~5V)であることを確認
※Logic MOTHERの測定回路を守るため
D-7) Logic MOTHER を PC に接続し,測定プローブをレベルコンバータ回路のTTL出力線に接続する.
D-8) Logic MOTHER の測定クロックおよび記録バッファサイズを適切に設定し波形を記録・観測する.
https://gyazo.com/c9ddcd61a33131ec9cb629f7649cab3a
図2.3 レベルコンバータ回路図
★sendcharsコマンド★
ラインモニタはオシロとは異なり,無信号状態が長い通信の観測も可能.
上記 send1 コマンドでもいいが,1 文字ではなく文字列をインターバル送信できると都合がよいかもしれない.
そこで,任意文字列インタバル送信のコマンド,sendchars を用意した.
これは shell スクリプトであるため,パラメータを編集改造して利用することが可能.
デフォルトでは”This is me!”がインタバル送信される.
2023/9/18